package com.ct.goods.orm;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 商品表
 * </p>
 *
 * @author system
 */
@Data
@Accessors(chain = true)
@TableName("ct_goods")
public class Goods extends Model<Goods> {

    private static final long serialVersionUID=1L;

    /**
     * 主键id
     */
    @TableId
    private Long id;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.UPDATE)
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 店铺id
     */
    private Long shopsId;

    /**
     * 店铺名称
     */
    private String shopsName;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品主图
     */
    private String mainImage;

    /**
     * 商品子图
     */
    private String subImages;

    /**
     * 商品详情
     */
    private String detail;

    /**
     * 购买须知
     */
    private String buyTips;

    /**
     * 详情图片
     */
    private String detailImages;

    /**
     * 原价
     */
    private BigDecimal originalPrice;

    /**
     * 一口价
     */
    private BigDecimal price;

    /**
     * 库存
     */
    private Integer stock;

    /**
     * 是否热门
     */
    private Integer isHot;

    /**
     * 是否新品
     */
    private Integer isNew;

    /**
     * 状态 1=待上架 2=已上架 3=已下架 4=售罄
     */
    private Integer status;

    /**
     * 是否开启促销 0-否 1-是
     */
    private Integer isSale;

    /**
     * 折扣价
     */
    private BigDecimal salePrice;

    /**
     * 月销量
     */
    private Integer monthlySales;

    /**
     * 累计销量
     */
    private Integer totalSales;

    /**
     * 累计评价
     */
    private Integer totalComments;

    /**
     * 优惠名称
     */
    private String preferentialName;

    /**
     * 包装费
     */
    private BigDecimal packingCharges;

    /**
     * 排序号
     */
    private Integer sortNumber;

    /**
     * 是否商家推荐菜 0-否 1-是
     */
    private Integer recommendedByMerchants;

    /**
     * 是否用户推荐菜 0-否 1-是
     */
    private Integer recommendedByMember;

    /**
     * 用户推荐菜人数
     */
    private Integer numberOfRecommendedMember;
    /**
     * 系统ID
     */
    private Long systemId;

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
